package algoWing42.controlador;

import titiritero.vista.TextoDinamico;
import algoWing42.modelo.Juego;
import algoWing42.vista.VentanaJuego;

/**
 * Hilo encargado de controlar la creacion de un juego cargado.
 * */
public class HiloJuegoCargado extends Thread {
	
	public void run() {

		Juego modelo = Juego.singletonBasico(); 
		ControladorAlgoWing42 controlador = new ControladorAlgoWing42(modelo);
		
		controlador.levantarDatos();
		
		VentanaJuego vista = new VentanaJuego(controlador);
		vista.setResizable(false);
		controlador.setSuperficieDeDibujo(vista.getSuperficieDeDibujo()); 
		controlador.agregarKeyPressObservador(new EscuchadorDeKeyPress(Juego.singleton().jugador()));

		vista.setVisible(true);
		ControladorVida c = new ControladorVida();
		ControladorScore s = new ControladorScore();
		
		//////////////////vida y score/////////////
		TextoDinamico vida = new TextoDinamico(c);
		TextoDinamico score = new TextoDinamico(s);
		score.setPosicionable(s);
		vida.setPosicionable(c);
		controlador.agregarDibujable(vida);
		controlador.agregarDibujable(score);
		
		controlador.setIntervaloSimulacion(40);

		controlador.comenzarJuego();
	}
}